package com.zpark.gateway.service.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;


@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    /**
     * 配置HTTP安全设置。
     *
     * 该方法用于配置Spring Security以保护Web应用程序的HTTP请求。它定义了哪些请求应该被授权访问，
     * 以及如何处理跨站请求伪造（CSRF）的防护。
     *
     * @param http 用于配置HTTP安全性的对象。通过调用其方法，可以设置访问控制和安全相关的各种属性。
     * @throws Exception 如果配置过程中出现错误，可能会抛出异常。
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // 允许所有请求访问
        http
                .authorizeRequests()
                // 允许所有请求访问应用中的任意资源
                .antMatchers("/**").permitAll()
                // 禁用CSRF保护
                .and().csrf().disable();
    }



}
